home *** CD-ROM | disk | FTP | other *** search
/ Grand Slam 3 / Grand Slam 3.iso / 030 / atccom.arj / LUBFFM.ATC < prev    next >
Text File  |  1995-08-31  |  13KB  |  580 lines

  1. ##############################################################################
  2. # This is an atc program which controls a flight from Lubeck rwy  07 (using 
  3. # LBE-1J SID) to Frankfurt/Main rwy 07L (using relevant STAR).
  4. #
  5. # Use this file together with the point file lubffm.pnt.
  6. #
  7. # This file is heavily commented...
  8. #
  9. ##############################################################################
  10. #
  11. # Where to find the points used in this program:
  12. #
  13. Points  lubffm.pnt
  14.  
  15. #
  16. # Wait for the user to move to the right airport.
  17. # When the distance is below 20, then continue with the real stuff.
  18. Label again 
  19. Message Hello, to start: Move to Lubeck 
  20. Trigger dist 
  21.         Action        GOTO again 
  22.         Repeat        21
  23.     Point        VOR:LUD
  24.     Distance    >20
  25. End
  26. Trigger dist
  27.      Repeat        5 
  28.         Point        VOR:LUD
  29.     Distance    <21
  30. End
  31. WAIT
  32.  
  33. # Speeds are restricted to 250 knots below 10000 ft, so we define a named
  34. # trigger to check for this. The trigger repeat every 20 seconds, and
  35. # we'll have to turn it off manually when we don't need it anymore.
  36. # The trigger is turned off when the aircraft reaches 10000 ft (see later).
  37. # NOTE: ATCCOM doesn't handle accelerated mode yet. If you use accelerated
  38. #       mode it'll probably complain about the speed limit!
  39. #
  40.  
  41. GTrigger Speed
  42.     Name        maxspeed
  43.     Speed        >270
  44.     Action        Message    Reduce speed to 250 knots
  45.     Repeat        20
  46. End
  47.  
  48. #
  49. #  Tell the pilot to contact clearance delivery.
  50. #  Wait for the report in before continuing.
  51. #  There's no clearance channel on Lubeck, but we do this so that the 
  52. #  program wait until the pilot's ready.
  53. #
  54. Message *Contact clearance delivery on 122.5
  55. Trigger frequency
  56.     Frequency    122.50
  57. End
  58. WAIT
  59.  
  60. ###############################################################################
  61. # Lubeck, SID LBE 1J
  62. ###############################################################################
  63.  
  64. #
  65. # Ok, we start with clearance delivery, first send two messages to the aircraft.
  66. # The star in the first message indicate that the aircraft must acknowledge the
  67. # message. The vertical bar indicate that the messages should be sent as two 
  68. # lines (| = change line). 
  69. # After this we set up a trigger which should wait for an empty message from
  70. # the aircraft (this is the normal acknowledge from the pilot). 
  71. # This is done because we don't want to send the next message because the 
  72. # previous message has been acknowledged. If this wasn't done, the pilot would
  73. # see all three messages, and would have to acknowledge them together.
  74. #
  75. # Finally, the WAIT command tells the program to wait for a trigger to execute.
  76. #
  77.  
  78. Message    *Good afternoon Flight 18,| 
  79. Message Cleared to Frankfurt as filed,|
  80. Message Expect FL 220 10 minutes after departure,|
  81. Message Squawk 1234
  82. Message $
  83.  
  84. #
  85. # Ok, the pilot acknowledged the "Cleared message".
  86. # Ask him to change frequency, and then set up a trigger to wait for the
  87. # frequency change. At the moment, ATCCOM doesn't validate the frequency, it
  88. # only waits for the pilot to send the "r" command.
  89. #
  90.  
  91. Message *Contact Lubeck Tower on 118.6 for taxi
  92. Trigger frequency
  93.     Frequency    118.60
  94. End
  95. WAIT
  96.  
  97. #
  98. # The pilot changed frequency and reported in.
  99. # Ask the pilot to taxi, and report short of runway. Then setup a trigger
  100. # to wait for the report.
  101. #
  102.  
  103. Message    *Taxi to runway 07, Report short of runway
  104. Trigger text
  105.     Text        r
  106. End
  107. WAIT
  108.  
  109. #
  110. # Ok, now clear the aircraft for takeoff.
  111. # Set up a control that verifies that the aircraft is flying course 70 
  112. # plus/minus 5 degrees.
  113. # Set up a trigger which activate when the aircraft reaches 400 ft.
  114. #
  115.  
  116. Message *Flight 18, cleared for takeoff rwy 07
  117. Control heading
  118.     Heading        70
  119.     HPrecision    5
  120.     Point        VOR:LUD
  121. End
  122. Trigger altitude
  123.     Altitude    >400
  124. End
  125. WAIT
  126.  
  127. ###############################################################################
  128.  
  129. #
  130. # The aircraft is now above 400 ft, so it is presumably airborne <g>.
  131. # Ask the pilot to contact Hamburg radar, and for the pilot to do this
  132. #
  133.  
  134. Message    *Airborne,|Contact Hamburg radar on 124.22
  135. Trigger frequency
  136.     Frequency    124.22
  137. End
  138. WAIT
  139.  
  140. #
  141. # The pilot has contacted Hamburg radar, give new orders.
  142. # This time we set up controls to check the heading and altitude.
  143. # The altitude control guide the aircraft to 5000 ft, however it won't complain
  144. # about wrong altitude until the aircraft has been at 5000 ft at least once.
  145. #
  146. # According to the SID, the aircraft should turn right when at 5 nm from 
  147. # the LUD VOR, so we set up a dist trigger to check for this.
  148. #
  149.  
  150. Message    *Flight 18, radar contact,|
  151. Message Climb to 5000, continue heading 70
  152. Control heading
  153.     Heading        70
  154.     HPrecision    5
  155.     Point        VOR:LUD
  156. End
  157. Trigger dist
  158.     Point        VOR:LUD
  159.     Distance    >5
  160. End
  161.  
  162. #
  163. # Set up a global altitude control. This control doesn't explicitly contain
  164. # an altitude, so it use the altitude given with the ALTITUDE command.
  165. # The pilot may request another altitude when this trigger is active.
  166. Altitude 5000
  167. GControl altitude
  168.     Name       g-altctl
  169.     APrecision 300
  170. End
  171.  
  172. WAIT
  173.  
  174. #
  175. # Aircraft is now 5 miles away from the VOR, and should initiate the right turn.
  176. # Ask the pilot to turn right to 160 , and set up a trigger which kicks in when
  177. # this course has been reached. 
  178. #
  179.  
  180. Message    *Turn right heading 160
  181.  
  182. Control heading
  183.     Heading        160
  184.     HPrecision    5
  185. End
  186. Trigger heading
  187.     Heading        160
  188.     Hprecision    10
  189.     Point        VOR:LUD
  190. End
  191. WAIT
  192.  
  193. #
  194. # Now the aircraft is flying direction 160 so, in accordance with the SID, ask
  195. # the aircraft to intercept the HAM VOR inbound.
  196. # We create a radial control to verify that the pilot do this. Also, set 
  197. # the altitude to 10000 with the ALTITUDE command. Whenever this command change
  198. # the required altitude, the pilot will get a message IF InitialMsg was
  199. # 1 in the Global control monitoring the altitude. We didn't set InitialMsg,
  200. # so we have to tell the pilot to change altitude.
  201. # Finally set up a trigger which executes when the aircraft reaches HAM VOR.
  202. #
  203. Message    *Intercept "HAM" Radial 076 inbound,|
  204. Message Climb to 10000
  205. Altitude 10000
  206. Control Radial
  207.     Point        VOR:HAM
  208.     Radial        TO 256
  209.     DPrecision    1
  210.     RPrecision    10
  211. End
  212. Trigger point
  213.     Point        VOR:HAM
  214.     DPrecision    5
  215. End
  216. WAIT
  217.  
  218. #
  219. # Ok, now the aircraft should be at 10000 ft, and we're going to let it climb
  220. # to 22000 ft, so the 250 knots restriction is no longer valid. Because of
  221. # this we now turn the named "maxspeed" trigger off.
  222. # miadfw.atc show another (smarter) way to do this.
  223. #
  224. Off maxspeed
  225.  
  226. #
  227. # At HAM VOR, the pilot should fly to LBE VOR, so tell the pilot to do this.
  228. # Also change the altitude to fl 220, and tell the pilot.
  229. # Finally set up a trigger to execute when the aircraft reaches LBE vor.
  230. #
  231.  
  232. Message    *Intercept LBE Radial 086 inbound,|
  233. Message Climb to fl 220
  234. Altitude fl 220
  235. Control Radial
  236.     Point        VOR:LBE
  237.     Radial        TO 266
  238.     DPrecision    1
  239.     RPrecision    10
  240. End
  241. Trigger point
  242.     Point        VOR:LBE
  243.     DPrecision    5
  244. End
  245. WAIT
  246.  
  247. ###############################################################################
  248. # Enroute
  249. ###############################################################################
  250.  
  251. #
  252. # At LBE VOR, the aircraft should fly to NIE VOR.
  253. # Set up the usual controls, and set up a trigger which execute when the
  254. # aircraft is 20 nm from LBE.
  255. #
  256.  
  257. Message    *Intercept "A9" to Nienburg
  258. Control Radial
  259.     Point        VOR:NIE
  260.     Radial        TO 188
  261.     DPrecision    1
  262.     RPrecision    10
  263. End
  264. Trigger dist
  265.     Point        VOR:LBE
  266.     Distance    >20
  267. End
  268. WAIT
  269.  
  270. ###############################################################################
  271.  
  272. #
  273. # At 20 nm from LBE, we ask the user to change frequency to Bremen Radar.
  274. #
  275.  
  276. Message *Flight 18, Contact Bremen Radar on 126.65
  277. Trigger frequency
  278.     Frequency    126.65
  279. End
  280. WAIT
  281.  
  282. #
  283. # The pilot has reported in at the new frequency, define the usual controls,
  284. # and wait for the aircraft to reach NIE VOR.
  285. # Note that InitialMsg is 1 so that the new controller will ask the pilot
  286. # to maintain 22000 ft.
  287. #
  288.  
  289. Message Flight 18, Radar contact
  290. Control Radial
  291.     Point        VOR:NIE
  292.     Radial        TO 188
  293.     DPrecision    1
  294.     RPrecision    10
  295. End
  296. Trigger point
  297.     Point        VOR:NIE
  298.     DPrecision    5
  299. End
  300. WAIT
  301.  
  302. #
  303. # At NIE VOR, ask the pilot to continue to ROBEG FIX.
  304. # Verify that the aircraft maintain 22000 ft.
  305.  
  306. Message    *Continue "A9" to Robeg fix
  307. Control Point
  308.     Point        FIX:ROBEG
  309.     DPrecision    1
  310. End
  311. Trigger point
  312.     Point        FIX:ROBEG
  313.     DPrecision    5
  314. End
  315. WAIT
  316.  
  317. #
  318. # At ROBEG FIX, tell the pilot to continue to WRB VOR.
  319. #
  320.  
  321. Message    *Continue "A9" to Warburg
  322. Control Radial
  323.     Point        VOR:WRB
  324.     Radial        TO 188
  325.     DPrecision    1
  326.     RPrecision    10
  327. End
  328. Trigger point
  329.     Point        VOR:WRB
  330.     DPrecision    5
  331. End
  332. WAIT
  333.  
  334. #
  335. # At WRB VOR, continue to OHMAR FIX, still at 22000 ft.
  336. # Set up a trigger to execute 20 nm from WRB VOR
  337. #
  338.  
  339. Message    *Continue "A9" to Ohmar fix
  340. Control Point
  341.     Point        FIX:OHMAR
  342.     DPrecision    1
  343. End
  344. Trigger dist
  345.     Point        VOR:WRB
  346.     Distance    >20
  347. End
  348. WAIT
  349.  
  350. ###############################################################################
  351.  
  352. #
  353. # 20 nm from WRB VOR, the aircraft should contact Frankfurt Radar, so inform
  354. # the aircraft of this. Then wait until this happens.
  355. #
  356.  
  357. Message *Flight 18, contact Frankfurt Radar on 127.72
  358. Trigger frequency
  359.     Frequency    127.72
  360. End
  361. WAIT
  362.  
  363. #
  364. # The pilot has changed frequency, set up the controls, and wait for the 
  365. # aircraft to reach OHMAR
  366. #
  367.  
  368. Message Flight 18, Radar contact
  369. Control Point
  370.     Point        FIX:OHMAR
  371.     DPrecision    1
  372. End
  373. Trigger point
  374.     Point        FIX:OHMAR
  375.     DPrecision    5
  376. End
  377. WAIT
  378.  
  379. #
  380. # At OHMAR, ask the pilot to continue to GIESSEN NDB
  381. #
  382.  
  383. Message    *Continue "A9" to Giessen NDB
  384. Control Point
  385.     Point        NDB:GIN
  386.     DPrecision    1
  387. End
  388. Trigger point
  389.     Point        NDB:GIN
  390.     DPrecision    5
  391. End
  392. WAIT
  393.  
  394. #
  395. # At GIESSEN, ask the pilot to continue to GEDERN VOR.
  396. # We now want the aircraft to descend to 10000 ft.
  397. #
  398.  
  399. Message    *Fly to Gedern VOR,|
  400. Message Descend to 10000 ft
  401. Altitude 10000
  402. Control Point
  403.     Point        VOR:GED
  404.     DPrecision    7
  405. End
  406. Trigger dist
  407.     Point        VOR:GED
  408.     Distance    <6
  409. End
  410. WAIT
  411.  
  412. ###############################################################################
  413. # STAR, Frankfurt RWY 07L
  414. ###############################################################################
  415.  
  416. #
  417. # Ok, now we start on the Frankfurt STAR for rwy 07L.
  418. # The pilot should fly to MTR VOR.
  419. #
  420.  
  421. Message    *Intercept "MTR" Radial 63 inbound
  422. Control Radial
  423.     Point        VOR:MTR
  424.     Radial        TO 243
  425.     DPrecision    5
  426.     RPrecision    10
  427. End
  428. Trigger point
  429.     Point        VOR:MTR
  430.     DPrecision    5
  431. End
  432. WAIT
  433.  
  434. #
  435. # Then fly to TAU VOR, and set up a trigger to execute when the aircraft
  436. # is 15 nm from TAU.
  437. #
  438.  
  439. Message    *Intercept "TAU" Radial 88 inbound
  440. Control Radial
  441.     Point        VOR:TAU
  442.     Radial        TO 268
  443.     DPrecision    5
  444.     RPrecision    10
  445. End
  446. Trigger dist
  447.     Point        VOR:TAU
  448.     Distance    <15
  449. End
  450. WAIT
  451.  
  452. #
  453. # At 15 nm, we ask the pilot to change frequency to Frankfurt Approach.
  454. #
  455.  
  456. Message *Contact Frankfurt Approach on 120.8
  457. Trigger frequency
  458.     Frequency    120.80
  459. End
  460. WAIT
  461.  
  462. #
  463. # Frequency changed, so ask the pilot to continue to TAU VOR.
  464. #
  465.  
  466. Message *Flight 18, Radar contact, Cross "TAU" at 10000
  467. Control Radial
  468.     Point        VOR:TAU
  469.     Radial        TO 268
  470.     DPrecision    5
  471.     RPrecision    10
  472. End
  473. Trigger point
  474.     Point        VOR:TAU
  475.     DPrecision    5
  476. End
  477. Trigger dist
  478.     Point        VOR:TAU
  479.     Distance    <4
  480. End
  481. WAIT
  482.  
  483. #
  484. # Here at TAU VOR, we're going to let the aircraft descent to 5000 ft, so we
  485. # have to reestablish the named maxspeed trigger.
  486. #
  487.  
  488. GTrigger Speed
  489.     Name        maxspeed
  490.     Speed        >270
  491.     Action        Message    Reduce to speed below 250
  492.     Repeat        20
  493. End
  494.  
  495. #
  496. # Then ask the aircraft to fly south from TAU and descend to 5000 in accordance
  497. # with the IAP for rwy 07L
  498. #
  499.  
  500.  
  501. Message    *Intercept "TAU" Radial 180 outbound,|
  502. Message Descend and maintain 5000
  503. Altitude 5000
  504. Control Radial
  505.     Point        VOR:TAU
  506.     Radial        FROM 180
  507.     DPrecision    5
  508.     RPrecision    10
  509. End
  510. Trigger dist
  511.     Point        VOR:TAU
  512.     Dist        >16
  513. End
  514. WAIT
  515.  
  516. #
  517. # At 16 nm from TAU, the pilot is near the localizer. Command the aircraft to
  518. # 4000 and to intercept the localizer.
  519. # Trigger when the aircraft is less than 16 nm from RHM ILS (this should be
  520. # the intercept point with the localizer).
  521. # Now turn off the global altitude control, we will set up the necessary
  522. # altitude control directly (from now on the pilot can't request altitude 
  523. # changes)
  524. #
  525. OFF g-altctl
  526.  
  527. Message    *Descend and maintain 4000,|
  528. Message Intercept localizer for approach to rwy 07L
  529. Control altitude
  530.     Altitude    4000
  531.     APrecision    300
  532. End
  533.  
  534. Trigger dist
  535.     Point        ILS:RHM
  536.     Dist        <16
  537. End
  538. WAIT
  539.  
  540. #
  541. # Ask the pilot to change to tower frequency
  542. #
  543.  
  544. Message    *Contact Frankfurt tower at 119.9
  545. Trigger frequency
  546.     Frequency    119.90
  547. End
  548. WAIT
  549.  
  550. #
  551. # Clear the aircraft for landing
  552. # Now just wait for the speed to go below 20 knots.
  553. #
  554. Message    *Flight 18, cleared to land 07
  555. Trigger Speed
  556.     Speed        <20
  557. End
  558. WAIT
  559.  
  560. #
  561. # The aircraft has (presumably) landed, so tell it to contact apron frequency.
  562. #
  563. Message    *Contact apron at 121.7, Goodbye
  564. Trigger frequency
  565.     Frequency    121.70
  566. End
  567. WAIT
  568.  
  569. #
  570. # Finally, give taxi instructions, turn off the maxspeed trigger, and stop
  571. # the program.
  572. #
  573. Message    *Flight 18, Take taxiway H to parking.
  574.  
  575. Off maxspeed
  576. STOP
  577.